home *** CD-ROM | disk | FTP | other *** search
- 0720000001766
- 1
- 2page #
- 9[.....................................................]
- Atari260/520ST/+-spezifischeWorte
-
- #col(--addr)"number-col"
- addristdieAdresseeinerVariablen,diedieNummerder
- aktuellenCursorzeileenthält.
-
- #esc(--n)"number-escape"
- nistderAscii-WertfürEscape.
-
- #lf(--n)"number-linefeed"
- nistderAscii-WertfürLinefeed.
-
- #row(--addr)"number-row"
- addristdieAdresseeinerVariablen,diedieNummerder
- aktuellenCursorspalteenthält.
-
- bconin(dev#--char)"b-con-in"
- charisteinZeichen,dasvomGerätmitderNummerdev#
- eingelesenwird.BCONINwartet(undhängtdadurch),
- biseinZeichenbereitsteht.TypischeGerätenummern
- sind:
- 0PRT;Centronics-Schnittstelle(Druckerport)
- 1AUX;RS232-Schnittstelle
- 2CON;TastaturundBildschirm
- 3MIDI;Midi-Schnittstelle
- 4IKBD;Tastatur-Port
- Gerätenummer4istbeidieserFunktionnichterlaubt.
-
- bconout(chardev#--)"b-con-out"
- charisteinZeichen,dasandasGerätmitderNummer
- dev#ausgegebenwird.BCONINwartet(hängt),bisdas
- Zeichenausgegebenwurde.DieGerätenummernsinddie
- gleichenwiebeiBCONIN.AlleGerätenummernsind
- erlaubt.
-
- ♪⑦bconstat(dev#--flag)"b-con-stat"
- flagistTRUE,wenneinZeichenaufdemGerätmitder
- Nummerdev#bereitsteht.Sonstistflag = FALSE.Die
- GerätenummernsinddiegleichenwiebeiBCONIN.Die
- Gerätenummern0und4sindbeidieserFunktionnicht
- erlaubt.
-
- ♪⑥bcostat(dev#--flag)"b-co-stat"
- flagistTRUE,wenndasGerätmitderNummerdev#bereit
- ist,einZeichenzuempfangen.Sonstistflag = FALSE.
- DieGerätenummernsinddiegleichenwiebeiBCONIN.
- AlleGerätenummernsindbeidieserFunktionerlaubt.
-
- ♪④con!(8b--)"con-store"
- gibt8baufdieCONsole(Bildschirm)aus.Ascii-
- Werte < $20werdenalsSteuercodesinterpretiert.
-
- ♪③curleft(--)
- setztdenCursorumeineSpaltenachlinks.
-
- curoff(--)
- schaltetdenCursoraus.
-
- curon(--)
- schaltetdenCursorein.
-
- currite(--)
- setztdenCursorumeineSpaltenachrechts.
-
- display(--)
- einmitOUTPUT:definiertesWort,dasdenBildschirm
- alsAusgabegerätsetzt,wennesausgeführtwird.Die
- WorteEMIT,CR,TYPE,DEL,PAGE,ATundAT?
- beziehensichdannaufdenBildschirm.
-
- getkey(--n)
- dieunteren7BitvonnenthaltendenAscii-Code,die
- unteren8BitdenANSI-Code(üAÇchüNÇein!üSÇch...üIÇBM)des
- nächstenTastendrucks,dieoberen8BitdenTastatur-
- Scancode.WarkeineTastegedrückt,istn=FALSE.
- (VergleicheKEY? undKEY )
-
- index(fromto--)
- liestdieBLOCKsfrombistoeinschließlichundgibt
- derenersteZeilenaus.INDEXkannmiteiner
- beliebigenTasteangehaltenundmitEscoderControl-C
- abgebrochenwerden(SieheSTOP?).DieerstenZeilenvon
- ScreensenthaltentypischKommentare,diedenInhalt
- charakterisieren.
-
- ♪⑥keyboard(--)
- einmitINPUT:definiertesWort,dasdieTastaturals
- Eingabegerätsetzt.DieWorteKEY,KEY?,DECODE
- undEXPECTbeziehensichaufdieTastatur.Siehe
- STKEY ,STKEY?,STDECODEundSTEXPECT.
-
- ♪⑦rwabs(r/wfaddrrec#--flag)"r-w-abs"
- Istr/wf=FALSE,wirdeinBlockDaten($400bzw.&1024)
- BytesvomDisketten-SektormitderNummerrec#nachaddr
- gelesen.Istr/wf<>FALSE,werdenDatenvonaddrauf
- dieDiskettegeschrieben.DieseRoutinewirdvonSTR/W
- benutzt.
-
- ♪⑤STat(rowcol--)"s-t-at"
- positioniertdenCursorindieZeilerowunddieSpalte
- col.EinFehlerliegtvor,wennrow>$18(&24)oder
- col >$40(&64)???ist.VergleicheAT.
-
- ♪④STat?(--rowcol)"s-t-at-question"
- rowistdieaktuelleZeilennummerdesCursors,coldie
- aktuelleSpaltennummer.VergleicheAT?.
-
- STcr(--)"s-t-c-r"
- setztdenCursorindieersteSpaltedernächstenZeile.
- EinPAUSEwirdausgeführt.
-
- STdecode(addrpos1key--addrpos2)"s-t-decode"
- wertetkeyaus.keywirdinderSpeicherstelleaddr+pos1
- abgelegtundalsEchoaufdemBildschirmausgegeben.Die
- VariableSPANundposwerdeninkrementiert.Folgende
- Tastenwerdenbesondersbehandelt:Cursorrechtsund
- Cursorlinksbeeinflussennurpos1unddenCursor.
- DeletelöschtdasZeichenunterdemCursorund
- dekrementiertSPAN.BackspacelöschtdasZeichenlinks
- vomCursorunddekrementiertpos1undSPAN.Insert
- fügtanderCursorpositioneinLeerzeichenein.SPAN
- wirdinkrementiert.ReturnpositioniertdenCursorauf
- dasletzteZeichen.VergleicheINPUT:undSTexpect.
-
- STdel(--)"s-t-del"
- löschteinZeichenlinksvomCursor.VergleicheDEL.
-
- STemit(8b--)"s-t-emit"
- gibt8baufdemBildschirmaus.EinPAUSEwird
- ausgeführt.AlleWertewerdenalsZeichenausgegeben,
- Steuercodessindnichtmöglich,d.h.alleWerte < $20
- werdenalsATARI-SpezifischeZeichenausgegeben.
- VergleicheCON!undEMIT.
-
- ♪⑧STexpect(addrlen--)"s-t-expect"
- erwartetlenZeichenvomEingabegerät,dieabaddrim
- Speicherabgelegtwerden.EinEchoderZeichenwird
- ausgegeben.ReturnbeendetdieEingabevorzeitig.Ein
- abschließendesLeerzeichenwirdimmerausgegeben.Die
- LängederZeichenkettewirdinderVariablenSPAN
- übergeben.VergleicheEXPECT.
-
- ♪⑧STkey(--16b)"s-t-key"
- wartetaufeinenTastendruck.WährendderWartezeitwird
- PAUSEausgeführt.Dieunteren7Bitvon16benthalten
- denAscii-Code,dieunteren8BitdenANSI-Codeder
- Taste,dieoberen8BitdenTastatur-Scancode.
- Steuerzeichenwerdennichtausgewertet,sondern
- unverändertabgeliefert.VergleicheKEY.
-
- ♪④STkey?(--flag)"s-t-key-question"
- flagistTRUE,wenneineTastegedrücktwurde,sonst
- FALSE .VergleicheKEY?.
-
- STpage(--)"s-t-page"
- löschtdenBildschirmundpositioniertdenCursorindie
- linkeobereEcke.VergleichePAGE.
-
- STtype(addrlen--)
- gibtdenString,derimSpeicherbeiaddrbeginntund
- dieLängelenhat,aufdemBildschirmaus.EinPAUSE
- wirdausgeführt.VergleicheTYPE,OUTPUT:und
- STEMIT.
-
-
-